package cn.labbook.bluetooth.service;

import cn.labbook.bluetooth.entity.ApplyPay;
import cn.labbook.bluetooth.pojo.dto.PrepaymentResultDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * @Author: zhangyang
 * @Date: 2023/4/13 14:37
 * @Desc: 申请支付 service 接口
 */
public interface IApplyPayService extends IService<ApplyPay> {

    /**
     * 房客支付
     *
     * @param ammeterId     电表id
     * @param openId        用户openid
     * @param totalFee      支付金额：单位分
     * @param body          支付描述
     * @return              支付参数
     */
    PrepaymentResultDTO payment(String ammeterId, String openId, String totalFee, String body);

    /**
     * 房客支付回调
     *
     * @param dataMap   微信回调参数
     */
    void callbackTenant(Map<String, Object> dataMap);

    /**
     * 房东支付
     *
     * @param applyRecordId     申请记录id
     * @return                  微信支付参数
     */
    PrepaymentResultDTO paymentLandlord(Integer applyRecordId);

    /**
     * 房东支付回调
     *
     * @param dataMap   微信回调参数
     */
    void callbackLandlord(Map<String, Object> dataMap);

}
